package com.work.dyduser.utils;

import android.app.Activity;
import android.text.TextUtils;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @author WZ 2016/2/4 验证工具类（是否是手机号，账号，密码之类的，正则表达式验证）
 */
public class VerificationUtil {
    // 验证手机号码
    public static boolean isPhone(String phone) {
        if (!TextUtils.isEmpty(phone)) {
         /*
         * 移动：134、135、136、137、138、139、150、151、157(TD)、158、159、187、188
		 * 联通：130、131、132、152、155、156、185、186 电信：133、153、180、189、（1349卫通）
		 * 总结起来就是第一位必定为1，第二位必定为3或5或8，其他位置的可以为0-9
		 */
            String telRegex = "[1][3456789]\\d{9}";// "[1]"代表第1位为数字1，"[358]"代表第二位可以为3、5、8中的一个，"\\d{9}"代表后面是可以是0～9的数字，有9位。
            Pattern p = Pattern.compile(telRegex);
            Matcher m = p.matcher(phone);
            if (m.matches()) {
                return true;
            }
        } else {
            UIUtils.showToast("请输入手机号");
            return false;
        }
        UIUtils.showToast("请输入正确的手机号");
        return false;
    }

    // 验证账号
    public static boolean isAccountNumber(String accountNumber) {
        if (!TextUtils.isEmpty(accountNumber)) {
            if (accountNumber.length() > 5) {
                return true;
            }
        }
        return false;
    }

    // 验证验证码
    public static boolean isGainCode(String gainCode) {
        if (!TextUtils.isEmpty(gainCode)) {
            if (gainCode.length() >= 4 && gainCode.length() <= 6) {
                return true;
            }
        } else {
            UIUtils.showToast("请输入手机验证码");
            return false;
        }
        UIUtils.showToast("请输入正确的验证码");
        return false;
    }

    // 验证密码(6-16位数字和字母的组合)
    public static boolean isPassword(String password) {
        //判断密码是否是6-16为数字加字母
        String str = "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$";
        Pattern p = Pattern.compile(str);
        Matcher m1 = p.matcher(password);
        if (m1.matches()) {
            return true;
        }
        UIUtils.showToast("密码格式为6-16位字母+数字");
        return false;
    }

    // 验证toten
    public static boolean isToken(String token) {
        if (!TextUtils.isEmpty(token)) {
            return true;
        }
        return false;
    }

    /**
     * 判断token超时
     *
     * @param activity
     */
    public static void isToken(Activity activity) {
//		activity.startActivity(new Intent(activity, LoginActivity.class));
//		SPutils.remove(Ckey.TOKEN);
    }
}
